package com.yiyahui.project.erp.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yiyahui.framework.aspectj.lang.annotation.Excel;
import com.yiyahui.framework.web.domain.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 折扣审核对象 yiya_audit_discount
 * 
 * @author yiyahui
 * @date 2020-06-13
 */

@ApiModel(value="折扣审核对象")
public class YiyaAuditDiscount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 主单id */
    @ApiModelProperty(value="主单id")
    @Excel(name = "主单id")
    private Long billingMainId;

    /** 所属门店 */
    @ApiModelProperty(value="所属门店")
    @Excel(name = "所属门店")
    private String clinic;

    /** 申请单号 */
    @ApiModelProperty(value="申请单号")
    @Excel(name = "申请单号")
    private String documentNum;

    /** 申请人 */
    @ApiModelProperty(value="申请人")
    @Excel(name = "申请人")
    private String proposer;

    /** 申请时间 */
    @ApiModelProperty(value="申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date proposerTime;

    /** 审核人1 */
    @ApiModelProperty(value="审核人1")
    @Excel(name = "审核人1")
    private String auditerOne;

    /** 审核时间 */
    @ApiModelProperty(value="审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditerOneTime;

    /** 审核结果1 1 待审核 2 已驳回 3 已通过 */
    @ApiModelProperty(value="审核结果1 1 待审核 2 已驳回 3 已通过")
    @Excel(name = "审核结果1 1 待审核 2 已驳回 3 已通过")
    private Integer auditerOneResult;

    /** 理由1 */
    @ApiModelProperty(value="理由1")
    @Excel(name = "理由1")
    private String auditerOneReason;

    /** 审核人2 */
    @ApiModelProperty(value="审核人2")
    @Excel(name = "审核人2")
    private String auditerTwo;

    /** 审核时间2 */
    @ApiModelProperty(value="审核时间2")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间2", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditerTwoTime;

    /** 审核结果2 1 待审核 2 已驳回 3 已通过 */
    @ApiModelProperty(value="审核结果2 1 待审核 2 已驳回 3 已通过")
    @Excel(name = "审核结果2 1 待审核 2 已驳回 3 已通过")
    private Integer auditerTwoResult;

    /** 理由2 */
    @ApiModelProperty(value="理由2")
    @Excel(name = "理由2")
    private String auditerTwoReason;

    /** 审核状态 1 待审核 2 待审核2 3 已驳回 4 已通过 */
    @ApiModelProperty(value="审核状态 1 待审核 2 待审核2 3 已驳回 4 已通过")
    @Excel(name = "审核状态 1 待审核 2 待审核2 3 已驳回 4 已通过")
    private Integer status;

    /** 备注 */
    @ApiModelProperty(value="备注")
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBillingMainId(Long billingMainId) 
    {
        this.billingMainId = billingMainId;
    }

    public Long getBillingMainId() 
    {
        return billingMainId;
    }
    public void setClinic(String clinic) 
    {
        this.clinic = clinic;
    }

    public String getClinic() 
    {
        return clinic;
    }
    public void setDocumentNum(String documentNum) 
    {
        this.documentNum = documentNum;
    }

    public String getDocumentNum() 
    {
        return documentNum;
    }
    public void setProposer(String proposer) 
    {
        this.proposer = proposer;
    }

    public String getProposer() 
    {
        return proposer;
    }
    public void setProposerTime(Date proposerTime) 
    {
        this.proposerTime = proposerTime;
    }

    public Date getProposerTime() 
    {
        return proposerTime;
    }
    public void setAuditerOne(String auditerOne) 
    {
        this.auditerOne = auditerOne;
    }

    public String getAuditerOne() 
    {
        return auditerOne;
    }
    public void setAuditerOneTime(Date auditerOneTime) 
    {
        this.auditerOneTime = auditerOneTime;
    }

    public Date getAuditerOneTime() 
    {
        return auditerOneTime;
    }
    public void setAuditerOneResult(Integer auditerOneResult) 
    {
        this.auditerOneResult = auditerOneResult;
    }

    public Integer getAuditerOneResult() 
    {
        return auditerOneResult;
    }
    public void setAuditerOneReason(String auditerOneReason) 
    {
        this.auditerOneReason = auditerOneReason;
    }

    public String getAuditerOneReason() 
    {
        return auditerOneReason;
    }
    public void setAuditerTwo(String auditerTwo) 
    {
        this.auditerTwo = auditerTwo;
    }

    public String getAuditerTwo() 
    {
        return auditerTwo;
    }
    public void setAuditerTwoTime(Date auditerTwoTime) 
    {
        this.auditerTwoTime = auditerTwoTime;
    }

    public Date getAuditerTwoTime() 
    {
        return auditerTwoTime;
    }
    public void setAuditerTwoResult(Integer auditerTwoResult) 
    {
        this.auditerTwoResult = auditerTwoResult;
    }

    public Integer getAuditerTwoResult() 
    {
        return auditerTwoResult;
    }
    public void setAuditerTwoReason(String auditerTwoReason) 
    {
        this.auditerTwoReason = auditerTwoReason;
    }

    public String getAuditerTwoReason() 
    {
        return auditerTwoReason;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("billingMainId", getBillingMainId())
            .append("clinic", getClinic())
            .append("documentNum", getDocumentNum())
            .append("proposer", getProposer())
            .append("proposerTime", getProposerTime())
            .append("auditerOne", getAuditerOne())
            .append("auditerOneTime", getAuditerOneTime())
            .append("auditerOneResult", getAuditerOneResult())
            .append("auditerOneReason", getAuditerOneReason())
            .append("auditerTwo", getAuditerTwo())
            .append("auditerTwoTime", getAuditerTwoTime())
            .append("auditerTwoResult", getAuditerTwoResult())
            .append("auditerTwoReason", getAuditerTwoReason())
            .append("status", getStatus())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}
